var tabLock = false
$(function(){
    $('#navSecondary').load($('#navSecondary').attr('data-uri'));

    //顶部菜单点击
    $('#navPrimary li').click(function(){
        $('#navPrimary li').removeClass('current')
        $(this).addClass('current')
        var cur_id = $(this).find('a').attr('data-id');
        $('#navSecondary').load($('#navSecondary').attr('data-uri'),{menuid:cur_id});
    });

    //菜单折叠
    $(document).on('click', '#navSecondary dt', function(){
        if($(this).find('a').hasClass('collapse')){
            $(this).next().hide();
            $(this).find('a').attr('class','expand');
        } else{
            $(this).next().show();
            $(this).find('a').attr('class','collapse');
        }
    })

    //左侧菜单点击
    $(document).on('click', '#navSecondary dd ul li', function(){
        $('#content').find('iframe').hide();
        $('#navSecondary dd ul li').removeClass('current')
        $(this).addClass('current');
        var menu_id = $(this).find('a').attr('data-id')
        var menu_name = $(this).find('a').text()
        //顶部tab构建
        $('#tabNav').find('ul li').removeClass('current');
        var flag = false
        $.each($('#tabNav').find('ul li'), function(){
            var tab_id = $(this).attr('data-menuid')
            if(tab_id == menu_id)
            {
                flag = true
                $(this).addClass('current')
            }
        })
        if(!flag)
        {
            var tab = '<li tabindex="0" data-id="'+menu_id+'" data-menuid="'+menu_id+'" class="current"><a href="javascript:;" title="'+menu_name+'">'+menu_name+'</a> <em title="关闭此页" class="del-tab">关闭</em></li>'
            $('#tabNav').find('ul').append(tab);
        }
        var url = $(this).find('a').attr('href');
        if($('#iframe_'+menu_id).length >0)
        {
            $('#iframe_'+menu_id).attr('src', url).one('load', function(){
            });
            $('#iframe_'+menu_id).show();
        } else {
            $('#blockMainFrame').show();
            var iframe = '<iframe id="iframe_'+menu_id+'" src="" class="frame-main" frameborder="0" scrolling="auto"></iframe>'
            $('#content').append(iframe);
            $('#iframe_'+menu_id).attr('src', url).one('load', function(){
                $('#blockMainFrame').hide();
            });
        }
        return false;
    })

    //删除iframe顶部选项卡
    $(document).on('click', '.del-tab', function(){
        var _li = $(this).parents('li')
        var menuid = _li.attr('data-menuid')
        if(_li.hasClass('current'))
        {
            _li.prev('li').addClass('current');
            $('#iframe_'+menuid).prev('iframe').show();
        }
        _li.remove();
        $('#iframe_'+menuid).remove();
    })

    //iframe 顶部选项卡
    $(document).on('click', '.tab-wrap ul li a', function(){
        var _li = $(this).parent('li')
        _li.addClass('current');
        _li.siblings('li').removeClass('current')
        if(_li.hasClass('default'))
        {
            $('#iframe_default').show();
            $('#iframe_default').siblings('iframe').hide();
            return false;
        }
        var menuid = _li.attr('data-menuid')
        $('#iframe_'+menuid).show();
        $('#iframe_'+menuid).siblings('iframe').hide();
    })

    $('#topNav dl').hover(function(){
        $(this).find('dt').addClass('hover')
        $(this).find('dd').show();
    }, function(){
        $(this).find('dt').removeClass('hover')
        $(this).find('dd').hide();
    })

    //关闭所有选项卡
    $('#btnTabMenu').click(function(){
        var _frame = $('#tabNav').find('li');
        $.each(_frame, function(i,item){
            if(i > 0)
            {
                var menu_id = $(this).attr('data-id')
                if($('#iframe_'+menu_id).length >0)
                {
                    $('#iframe_'+menu_id).remove();
                    $(this).remove();
                }
            }
        })
        $('#iframe_default').show();
    })

    //更新缓存
    $('#linkCacheUpdate').click(function(){
        $('#tabNav').find('ul li').removeClass('current');
        if($('#tabNav').find('.cache').length == 0)
        {
            var tab = '<li tabindex="0" data-id="cache" data-menuid="cache" class="current cache"><a href="javascript:;" title="清理缓存">清理缓存</a> <em title="关闭此页" class="del-tab">关闭</em></li>'
            $('#tabNav').find('ul').append(tab);
        }else{
            $('#tabNav').find('.cache').addClass('current')
        }
        var url = CACHE_URL
        if($('#iframe_cache').length >0)
        {
            $('#iframe_cache').attr('src', url).one('load', function(){
            });
            $('#iframe_cache').show();
        } else {
            $('#blockMainFrame').show();
            var iframe = '<iframe id="iframe_cache" src="" class="frame-main" frameborder="0" scrolling="auto"></iframe>'
            $('#content').append(iframe);
            $('#iframe_cache').attr('src', url).one('load', function(){
                $('#blockMainFrame').hide();
            });
        }
        $('#iframe_cache').siblings('iframe').hide();
    })

    //顶部tab移动
    $('#btnTabPrev').click(function(){
            var _elCurrent = $('#tabNav').find('.current');
            var _elPrev = _elCurrent.prev('li');
            showTab(_elPrev);
    })


    $('#btnTabNext').click(function(){
            var _elCurrent = $('#tabNav').find('.current');
            var _elNext = _elCurrent.next('li');
            showTab(_elNext);
    })


})

function showTab(el)
{
    if(el && el.length) {
        var _elTabNavList = $('#tabNav').find('ul');
        var _elBtnTabNext = $('#tabContent').find('#btnTabNext');
        var _elBtnTabPrev = $('#tabContent').find('#btnTabPrev');
        var li_offset = el.offset();
        var li_width = el.outerWidth(true);
        var next_left = _elBtnTabNext.offset().left - 25;
        var prev_right = _elBtnTabPrev.offset().left + _elBtnTabNext.outerWidth(true);
        if(li_offset.left + li_width > next_left) {
            var distance = li_offset.left + li_width - next_left;
            _elTabNavList.animate({
                left: '-=' + distance
            }, 200, function() {
                el.find('a').trigger('click');
            });
        } else if(li_offset.left < prev_right) {
            var distance = prev_right - li_offset.left;
            _elTabNavList.animate({
                left: '+=' + distance
            }, 200, function() {
                el.find('a').trigger('click');
            });
        } else {
            el.find('a').trigger('click');
        }
    }
}